草庐IT

MySQL 计数行性能

全部标签

c# - 建议在 Entity Framework 4 中使用临时表或表变量。更新性能 Entity Framework

我需要更新表中的一个位字段,并针对该表中的特定ID列表将此字段设置为true。Id是从外部进程传入的。我想在纯SQL中,最有效的方法是创建一个临时表并用ID填充它,然后用它连接主表并相应地设置位字段。我可以创建一个SPROC来获取ID,但可能涉及200-300,000行需要设置此标志,因此这可能不是最有效的方法。使用IN语句对可以传递的数据量和性能有限制。如何使用EntityFramework实现上述目标我想可以创建一个SPROC来创建一个临时表,但从模型的角度来看,这是不存在的。有没有办法在运行时动态添加实体。[或者这种方法只会引起头痛]。虽然用300,000行填充一个临时表并进行连

c# - NewtonSoft Json 序列化器性能

我有一个对象,我正在使用NewtonSoftJson.Net将其序列化为Json。对象比较大,生成的Json约300kb,但序列化过程耗时60秒左右。要序列化的对象只是普通的POCO。我使用的代码是stringjson=Newtonsoft.Json.JsonConvert.SerializeObject(data,Formatting.Indented);有什么可以加速序列化,添加属性等吗编辑:我刚刚使用ServiceStack.TextJson序列化程序进行了测试,这需要48秒,仍然很慢。[Serializable]publicclassAppointmentItemViewMod

c# - 与 Dictionary 相比,SortedDictionary 的性能出乎意料地差

我不明白为什么SortedDictionary的性能在设置和检索值方面比Dictionary慢大约5倍。我预计插入和删除会更慢,但不会更新或检索。我已经测试了.Net3.5和.Net4.0版本的编译代码。预先计算了一组随secret钥,以确保随机变化不会导致随机访问的差异。以下是经过测试的场景。使用[key]访问器顺序更新每个值使用[key]访问器顺序访问每个值使用TryGetValue顺序访问每个值使用[key]访问器随机访问每个值使用TryGetValue随机访问每个值有人知道性能差异的原因吗?如果我做错了什么或愚蠢的事情请指出。示例代码:只需将Dictionary切换为Sorte

MySQL数据库中的索引(含SQL语句)

文章目录为什么要用索引索引是什么索引的原理优点缺点创建索引的原则什么情况下需要索引什么情况下不需要索引索引的分类主键索引单值索引唯一索引组合索引(复合索引)全文索引(仅在MySQL8之后有)查找索引:索引的数据结构聚簇索引和非聚簇索引为什么要用索引假设有一张表,表中有100万条数据,这100万条数据在硬盘上是存储在数据页上的,一页数据大小为16k。存储100万条数据那么就需要数据页,假设其中有一条数据是“id为7900”的,那么如果要查询这条数据,其中SQL是SELECT*FROM表名WHEREid=7900。在执行这条SQL语句的时候,MySQL需要扫描全表来查询id=7900的记录。全表扫

JSP连接MySQL数据库

步骤创建JSP项目创建数据库导入MySQL的jar包文件使用Java连接数据库执行增删改查创建JSP项目使用Eclipse创建一个jsp项目创建数据库我使用的是NavicatPremium15来对数据库进行操作1.点击连接,选择MySQL,连接所需要的数据库2.只需要填写主机名、端口号、用户名以及密码就可以了,点击连接,便可以连接到数据库信息(前提是你的电脑上必须已经安装了MySQL数据库)3.右击❶处,选择创建数据库,根据你的选择,起一个数据库的名字,设置数据库的字符集4.双击你新建的数据库,在表中新建表,设置需要的字段以及表名,保存即可导入MySQL的jar包文件MySQL的jar包有两种

c# - 测量 ASP.NET MVC 3 的性能

我在ASP.NETMVC3中构建了一个JSON服务,我希望能够测量应用程序中操作的执行时间(我希望它自动记录缓慢的操作)。因此这看起来很棒;http://coderjournal.com/2010/10/timing-the-execution-time-of-your-mvc-actions/(在堆栈溢出的地方也提到过)问题是我从这种方法中得到的测量值肯定是错误的;我添加了另一个秒表,它会在Action的第一件事开始并在返回之前停止。例子:方法里面的秒表=>10ms(这里省略了序列化成json的过程,所以可以理解比实际要短)秒表属性(上面的代码)=>676msFirefox说请求耗时

c# - 在循环内部/外部声明变量会改变性能吗?

这是:foreach(TypeiteminmyCollection){StringBuildersb=newStringBuilder();}远低于:StringBuildersb=newStringBuilder();foreach(TypeiteminmyCollection){sb=newStringBuilder();}换句话说,我在哪里声明我的StringBuilder真的很重要吗? 最佳答案 不,在何处声明它在性能方面并不重要。对于一般的代码清洁度,您应该在使用它的最内层范围内声明它-即。你的第一个例子。

c# - 性能更好的克隆

我想创建深拷贝方法,我找到了3种方法来执行它1层副本,每个属性11地传递2-使用反射3-使用序列化请问他们中哪一个在性能方面最好 最佳答案 我通过三种方法的比较加上表达式树方法制作了图表。对于大量对象,反射比序列化快5倍,手动代码和表达式树比序列化快20倍。因此,性能最好的是手动代码和表达式树。链接到使用的克隆代码(2.-4.用作扩展方法):Manual:手动编写,无链接。CloningbySerializationCloningbyReflectionCloningbyExpressionTrees

c# - 如何轻松使这个计数器属性线程安全?

我在只有计数器的类中有属性定义,这必须是线程安全的,这不是因为get和set不在同一个锁中,如何做到这一点?privateint_DoneCounter;publicintDoneCounter{get{return_DoneCounter;}set{lock(sync){_DoneCounter=value;}}} 最佳答案 如果您希望以保证DoneCounter=DoneCounter+1不受竞争条件影响的方式实现属性,则不能在属性的实现中完成。该操作不是原子操作,它实际上是三个不同的步骤:检索DoneCounter的值。加1将

c# - 生成随机唯一数字的性能问题

我有一种情况需要创建数以万计的唯一数字。但是这些数字必须是9位数字并且不能包含任何0。我目前的方法是生成9位数字(1-9)并将它们连接在一起,如果该数字不在列表中,则将其添加到其中。例如publicvoidgenerateIdentifiers(intquantity){uniqueIdentifiers=newList(quantity);while(this.uniqueIdentifiers.Count然而,在大约400,000时,这个过程确实变慢了,因为越来越多的生成数字是重复的。我正在寻找一种更有效的方法来执行此过程,我们将不胜感激。编辑:-我正在生成这些-http://ww